package com.ct.spring.mybatis.service.impl;

import java.util.List;
import java.util.Map;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ct.spring.mybatis.dao.StudentDao;
import com.ct.spring.mybatis.model.Page;
import com.ct.spring.mybatis.model.Student;
import com.ct.spring.mybatis.service.StudentService;


@Service("studentService")
public class StudentServiceImpl implements StudentService {
	
	private static Logger logger = LogManager.getLogger(StudentServiceImpl.class);
	
	@Autowired
	private StudentDao studentdao;
	
	

	@Override
	public Student getStudent(int sid) {
		
		return studentdao.getStudent(sid);
	}

	@Override
	public void addStudent(Student student) {
		studentdao.addStudent(student);

	}

	@Override
	public void delStudent(Student student) {
		studentdao.delStudent(student);

	}

	@Override
	public void updateStudent(Student student) {
		studentdao.updateStudent(student);

	}

	@Override
	public Page queryLikeStudents(Map<String, Object> cond) {
		Page page=new Page();
		//根据条件查询符合的用户列表记录总数，赋值给page的totalNum变量
		page.setTotalNum(studentdao.getLikeStudentsCount(cond));
		System.out.println("num="+page.getTotalNum());
		//从请求参数中获取每页大小
		int pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
		page.setPageSize(pageSize);
		//从请求参数中获取当前页码
		int curPageNum = Integer.parseInt(String.valueOf(cond.get("pageNum")));
		page.setCurPageNum(curPageNum);
		//动态计算总页数(总记录数 除以 每页大小，加上  总页数 求余 每页大小，如果余数不为0，则 加 1，否则 加 0 )
		page.setTotalPage(page.getTotalNum()/pageSize+(page.getTotalNum()%pageSize==0?0:1));
		//根据条件查询符合的用户列表记录，赋值给page的result变量
		page.setResult(studentdao.getLikeStudents(cond));
		
		return page;
	}

	
}
